package chen.yi.common.utils;

import cn.hutool.jwt.JWT;

import java.util.Map;

/**
 * token工具类
 * @author huat
 **/

public final class TokenUtils {
    private final static String KEY="chen-yi-vue";//加密key
    private final static String ISSUER="chen.yi";//颁发者

    /**
     * 创建token
     * @param payload
     * @return
     */
    public static String createToken(Map<String,Object> payload){
        return JWT.create().addPayloads(payload).setIssuer(ISSUER).setKey(KEY.getBytes()).sign();
    }

    /**
     * 获取token中载荷信息
     * @param token token
     * @param name 获取载荷信息对应的key
     * @return
     */
    public static Object getPayload(String token,String name){
        return JWT.create().parse(token).setIssuer(ISSUER).setKey(KEY.getBytes()).getPayload(name);
    }

    /**
     * 验证token是否合法
     * @param token
     * @return
     */
    public static boolean verifyToken(String token){
        return JWT.of(token).setIssuer(ISSUER).setKey(KEY.getBytes()).verify();
    }
}
